1. Field of the Invention
This invention relates generally to a method for providing writing requirements for a structured transition system and, more particularly, to a method for providing writing requirements for a structured transition system that employs sub-state based structuring, abstraction based structuring and partial behavior structuring.
2. Discussion of the Related Art
Sophisticated digital circuitry, such as circuits and controllers that control various vehicle systems, sub-systems and components, typically employ state machines that provide a certain state or states based on inputs from various sensors and other state machines indicating the operating condition of the vehicle. For example, the various sensors, detectors and components on a vehicle that detect various vehicle parameters, such as pressures, temperatures, steering angle, yaw rate, vehicle speed, wheel slip, etc., are provided to state machines that indicate a particular state of the functional operation of the vehicle. Because a vehicle may at any given point have thousands of states, providing writing requirements that allow such a large number of states to be understood by a person who is designing vehicle circuits and systems is typically a complex challenge.
Requirements capture and analysis is one of the most critical stages of the software development life cycle. One known practice is to use natural language as a technique for specifying feature requirements. However, using natural language for specifying feature requirements does not lend itself to automated informal analysis of the requirement. Another known practice is to use graphical state-machine formalisms for specifying feature requirements. This technique employs hierarchical structuring mechanisms for designing state machines. Hierarchical state based structuring helps a user manage complexity of requirements by providing a mechanism for grouping states and transitions. However, using such structuring mechanisms introduces implicit information, making it difficult for a user to comprehend all of the implications of making changes in a specification. Thus, it is sometimes difficult to validate the specification, i.e., figure out whether what has been written down as the writing requirements is what really was intended.